import React, { Component } from 'react'

export default class Child extends Component {
  /* constructor(props) {
    // 这个 props 就是个对象，包含了父组件传递的所有属性
    // console.log(props)
    super(props)
    // 上面的 super(props) 类似于下面的写法：
    // this.props = props
    // 有没有办法在 constructor 中使用 this.props 来获取参数呢？
    console.log(this.props === props)
  } */
  constructor(...args) {
    // 这个 props 就是个对象，包含了父组件传递的所有属性
    // console.log(props)
    super(...args)
    // 上面的 super(props) 类似于下面的写法：
    // this.props = props
    // 有没有办法在 constructor 中使用 this.props 来获取参数呢？
    console.log(this.props)
  }
  render() {
    return (
      <div>
        {/* #2 类组件通过 this.props 进行接收 */}
        <p>Child: {this.props.salary}</p>
        <p>字符串 age: {typeof this.props.age}</p>
        <p>数字 num: {typeof this.props.num}</p>
        <p>字符串 oBar: {typeof this.props.oBar}</p>
        <p>字符串 oBar: {typeof this.props.oBar}</p>
        <p>布尔值 bBar: {typeof this.props.bBar}</p>
        <p>对象: {this.props.obj1.name}</p>
        <p>函数: {this.props.fn()}</p>
        <div>JSX: {this.props.jsx}</div>
      </div>
    )
  }
}
